home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 2 / Gold Medal Software Volume 2 (Gold Medal) (1994).iso / comms / reglw2os.arj / SCRTUT.DOC < prev    next >
Text File  |  1993-07-30  |  9KB  |  220 lines

  1.  
  2.  
  3.  
  4.         L i v e W i r e  C o m m u n i c a t i o n s  2.0
  5.              S c r i p t  L e a r n  T u t o r i a l
  6.  
  7.                               
  8.  
  9.                     Copyright 1991 Les Novell
  10.  
  11.  
  12. Introduction to Scripting
  13.  
  14.  
  15.      LiveWire 2.0 allows you to automate several communications
  16. tasks such as logging into services such as BBSs, capturing
  17. messages for later reading, sending messages, and
  18. sending/receiving files. 
  19.      After showing LiveWire how to accomplish these tasks you can
  20. set it so that at a certain time of the day it will dial into the
  21. system without any human intervention. 
  22.      This is scripting, and it has a lot of uses. It might be
  23. useful as a time saver for slow typists. It could also dial into
  24. a long distance or heavily used services in the middle of the
  25. night when rates are low. It can be set up so your own computer
  26. can answer phone calls, allowing callers to receive files or send
  27. messages. 
  28.      Basically, scripting gives you the freedom to program your
  29. computer to do just about any communication task you need. But
  30. you don't need to be a programmer to write useful scripts. In
  31. fact, LiveWire can write (or "Learn") simple scripts for you.
  32.      There are three types of people who use scripts: those who
  33. let LiveWire or someone else write them scripts and do not know
  34. how scripts actually work; those who let LiveWire or someone else
  35. write their scripts but in addition know enough to make changes;
  36. and those who use the script language to its full extent,
  37. allowing them to do more complex tasks. Most casual users fit in
  38. the first category. 
  39.  
  40. 1. Using LiveWire to learn scripts
  41.  
  42.  
  43.      LiveWire has the capability to record part or all of a
  44. communications session and play it back automatically. This is
  45. called script learn.
  46.      LiveWire accomplishes this "recording" by assuming that the
  47. service you are connected to will be sending a prompt (eg: Enter
  48. Your Name: or Press any key...) and that you will respond by
  49. typing a response and pressing ENTER. LiveWire remembers what you
  50. type at each prompt and simply responds in the same manner next
  51. time it sees these prompts. 
  52.      Let's run through an example learning session. 
  53.      The first thing you must do is find a service you want to
  54. call in your phone directory and put a filename in the "Script"
  55. field. To edit this entry press "E" while the highlight bar is on
  56. the entry. When the edit window appears move your highlight bar
  57. to the entry "Script" and press ENTER. Now type a filename
  58. (maximum of eight letters) into this field and press ENTER. Then
  59. press Esc to save this entry.
  60.      Now dial the service. Note that as you dial an "L" appears
  61. next to the entry where a check normally appears. This means that
  62. LiveWire will automatically start learning as soon as you get
  63. onto the service.
  64.      Logon normally to the service, but take note of how much of
  65. your logon you want LiveWire to remember. For example, on most
  66. services you would only need LiveWire to remember when you type
  67. your name and password. Beyond this (reading bulletins and
  68. messages) the service you call probably changes daily. If so,
  69. LiveWire will become confused. It isn't smart enough to adapt to
  70. these changes. 
  71.      When you're ready to have LiveWire stop learning look at the
  72. status line on your screen. It will tell you what keys you need
  73. to press to stop script learning. 
  74.  
  75.      That's it! Next time you call the same service LiveWire
  76. should automatically replay what it learned, key for key. If for
  77. some reason LiveWire did not learn correctly or you made a
  78. mistake while it was learning you can change the name of the
  79. script filename in the phone book entry or erase the script file.
  80.  
  81.  
  82.      TIPS FOR LEARNING:
  83.      LiveWire makes the assumption that when you press ENTER you
  84. are finished typing so...
  85.      
  86.      - Press ENTER after each prompt 
  87.      - The use of hotkeys (selection of an option without having
  88. to press ENTER) may not work
  89. 2. Editing a script
  90.  
  91. Inside learned scripts
  92.      After a script has been learned by LiveWire modifications
  93. may be necessary. Even computers make mistakes once in a while,
  94. right? Since LiveWire uses a simple learning method it is not
  95. difficult to edit learned scripts. Learned scripts do two things:
  96. Wait for a prompt and send a response. In scripting this boils
  97. down to something as simple as:
  98.  
  99. Find "Enter Your Name: "
  100. Delay 100
  101. Send "Les Novell^M"
  102.  
  103.      These are the basic commands in any learned script. Here's
  104. an example learned script
  105.  
  106. ** LiveWire Learned Script File
  107.  
  108. ** Set timeout and timeout subroutine
  109. Set TimeOut=60
  110. OnTimeOut timeouterror
  111.  
  112. ** Set emulation and toggles
  113. Emulation 1
  114. Echo      0
  115. Linefeeds 0
  116. XonXoff   1
  117. BSIsDel   0
  118. Status    1
  119. Doorway   0
  120.  
  121. :StartScript
  122.     Find "Press"                   <--Find "Press"
  123.     Delay 100
  124.     Send "^[^["                    <--Send two ESCs
  125.  
  126.     Find "ter your full name: "    <--Find "Enter your full       
  127.                                       name:"
  128.     Delay 100
  129.     Send "les novell^M"            <--Send my name and ENTER
  130.  
  131.     Find "le ...^M^J^J^MPassword: "<--Find Password Prompt
  132.     Delay 100
  133.     Send "xxxxxx^M"                <--Send my password and ENTER
  134.  
  135.     Find "▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓^M^J▓ "  <--Find end of logon screen
  136.     Delay 100
  137.     Send "^M"                      <--Send ENTER to continue
  138.  
  139.     Find "Return] to continue:"    
  140.     Delay 100
  141.     Send "^M"
  142.     Halt
  143.  
  144.      Although this may be a bit confusing at first, there are a
  145. couple of things to keep in mind. First, LiveWire has no way of
  146. knowing how much of the text is a prompt. Therefore, it considers
  147. the last 20 letters as the prompt. This may cause more than one
  148. line to be considered a prompt or may cut off part of a prompt.
  149. This should not cause any problems but may cause the learned
  150. script to look a little odd. 
  151.      Another thing which may look odd are the ^M, ^J and ^[.
  152. These indicate control characters. ^M is equal to Control-M.
  153. Control-M, incidentally, is the ENTER key. Control-J is linefeed.
  154. Control-[ is the escape key on your keyboard. Whenever you want
  155. to simulate the ENTER key you would stick in a ^M. 
  156.  
  157.  
  158. Editing a script file
  159.      Editing a script file associated with a service in the
  160. dialer is simple. Go into the dialer and move the highlight bar
  161. to the service, then press the V (for View Script) key. After a
  162. few seconds an editor will come up with the learned script. 
  163.      If you intend to fix the script, the first thing you need to
  164. know is at what point the script is failing. For example, if the
  165. script never responds to a "PASSWORD:" prompt then you know that
  166. it is not recognizing the prompt correctly.
  167.      Move your cursor to the place in the script which has the
  168. command to find the password prompt. This may look like:
  169.  
  170. Find "PASSWORD:"
  171.  
  172. Any small difference in the actual prompt and the prompt LiveWire
  173. expects will cause a problem. Some things to look for are:
  174.  
  175.      + Time/Date dependent information is part of the prompt
  176.           EG: "(23 minutes left) COMMAND:"
  177.            this should be changed to "COMMAND:"
  178.  
  179.      + Spaces where they do not belong
  180.  
  181.      + Odd control (^) characters
  182.  
  183.      + Line noise
  184.  
  185.      + The system prompt changed since you learned the script!
  186.  
  187.  
  188.      Change the prompt the script file is looking for using
  189. standard editing keys (insert, delete, arrow keys) and save the
  190. script by pressing ALT-X. If you make a huge mistake and want to
  191. abort the script press and hold CTRL-K then press A for Abort.
  192. Debugging a script
  193.      If you are debugging a script that is too complex or you
  194. can't seem to fix there are two special debugging commands for
  195. scripts. The first, DEBUG, displays the currently executing
  196. script command on the status line. The second, DEBUGDELAY, slows
  197. down the script so that you can see what is being displayed on
  198. the status line. To start debug insert the following commands at
  199. the top of your script:
  200.  
  201. DEBUG ON
  202. DEBUGDELAY 150
  203.  
  204.      Where DEBUG ON turns on debug and DEBUGDELAY 150 sets a
  205. delay of 150 milliseconds between script commands. If you can't
  206. read a line of script every 150 milliseconds, you can increase
  207. the delay. Delays of over 500 are usually excruciatingly slow.
  208.      To turn debug off in portions of the script you know are
  209. correct, issue the commands:
  210.  
  211. DEBUG OFF
  212. DEBUGDELAY 0
  213.  
  214.      These are the default settings for DEBUG. These debugging
  215. tools provide a simple trace-through feature. I realize they may
  216. be inadequate for large projects because you still cannot view
  217. variables and stack while the script is running. In this case you
  218. must write your own script code to provide some debug
  219. information.
  220.